<?php

/**
 * @author viet-coder.com
 * @copyright 2013
 * 
 * 1. comment trên mỗi function như ví dụ trong này
 * http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_sample2.pkg.html
 * Tác dụng của việc này khi rê chuột vô hàm và nhấn ctr nó sẽ hint ra giải thích hàm,
 * cái mà mình vừa comment.
 * 2. data truyền vào sẽ lấy từ controller truyền xuống, không lấy trực tiếp trong model
 * 3.commit những file cần thiết, không commit những file cấu hình riêng cho mỗi máy như
 * file config/database.php
 * 
 */
class Muser extends CI_Model {

    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    public function login($user, $pass) {
        $array = array('username' => $user, 'password' => $pass);
        $this->db->where($array);
        $get = $this->db->get('user');
        $result = $get->num_rows();
        if ($result == 1)
            return true;
        else
            return false;
    }

    /**
     * Kiểm tra tồn tại username và email hay chưa.
     * @param $data_key array gồm username, email
     * @return bool True nếu tồn tại, False nếu không.
     */
    public function check_use($user) {
        $condition = $this->db->where('username', $user);
        $get = $this->db->get('user');
        $result_key = $get->num_rows();
        if ($result_key == 1) {
            return true;
        } else {
            return false;
        }
    }

    public function check_email($email) {
        $condition = $this->db->where('email', $email);
        $get = $this->db->get('user');
        $result_key = $get->num_rows();
        if ($result_key == 1) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 
     * 
     */
    public function register($data) {
        $result = $this->db->insert('user', $data);
        return $result;
    }

    /**
     * Thay đổi password
     * @param array $data_conditions điều kiện tìm user
     * @param string $new_pass mật khẩu mới
     * @return bool
     */
    public function change_pass($data_conditions, $new_pass) {
        $this->db->where($data_conditions);
        $result_update = $this->db->update('user', $new_pass);
        if ($result_update->num_rows() == 1) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * Xóa 1 user
     * @param array $uid
     * @return bool 
     */
    public function delete($uid) {
        $this->db->where($uid);
        $result_delete = $this->db->delete('user');
        if ($result_delete->num_rows() == 1) {
            return true;
        } else {
            return false;
        }
    }
    /**
     * Lấy thông tin user
     * @param string username
     * @return array
     */
    public function get_user_info($username) {
        $condition = $this->db->where('username', $username);
        $get = $this->db->get('user');
        $result_key = $get->row_array();
        return $result_key;
    }
    
    

}

?>
